package com.mt.fpb.controller;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.mt.fpb.mapper.TMineInfoMapper;
import com.mt.fpb.mapper.TWarningMapper;
import com.mt.fpb.model.TMineInfo;
import com.mt.fpb.model.dto.BaseQueryParams;
import com.mt.fpb.model.vo.CommonPage;
import com.mt.fpb.model.vo.CommonResult;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 环境探测 数据中心
 */
@RestController
@RequestMapping("/TAirMonitorDC")
public class TAirMonitorDCController {

    @Resource
    private TMineInfoMapper tMineInfoMapper;

    @Resource
    private TWarningMapper tWarningMapper;

    /**
     * 监查区域列表 ZFG
     * 2021年6月16日
     */
    @GetMapping("getMineList")
    public CommonResult getMineList() {
        JSONObject json = new JSONObject();
        // 返回全部矿区
        List<TMineInfo> tMineInfos = tMineInfoMapper.selectAll();
        json.put("mines",tMineInfos);

        return CommonResult.success(json);
    }

    /**
     * 全部 环境告警事件 ZFG
     * 2021年6月16日
     *
     * @return
     */
    @GetMapping("getAlarmEvents")
    public CommonResult getAlarmEvents(BaseQueryParams queryParams) {
        // 参数map
        Map paramMap = new HashMap();
        paramMap.put("mineId", queryParams.getMineId());
        paramMap.put("beginTime", queryParams.getBeginTime());
        paramMap.put("endTime", queryParams.getEndTime());

        if(!StringUtils.isEmpty(queryParams.getPage()) && !StringUtils.isEmpty(queryParams.getPageSize())){
            // 分页
            PageHelper.startPage(queryParams.getPage(), queryParams.getPageSize());
        }
        // 获取环境全部告警事件
        List<Map<String, String>> dataCenter = tWarningMapper.getWarings(paramMap);
        return CommonResult.success(CommonPage.restPage(dataCenter));
    }
    /**
     * 环境告警事件详情 ZFG
     * 2021年6月16日
     */
    @GetMapping("getAlarmDetails")
    public CommonResult getAlarmDetails(BaseQueryParams queryParams) {
        JSONObject json = new JSONObject();
        // 获取详细告警事件
        List<Map> list = tWarningMapper.getAlarmDetails(queryParams.getWarningId());
        json.put("warningList",list);
        return CommonResult.success(json);
    }



}
